Skip to content

synchronize kubeflow workspaces manifests v2.0.0 alpha.1#3430

Open
christian-heusel wants to merge 7 commits intokubeflow:masterfrom
christian-heusel:synchronize-notebooks-v2-manifests-v2.0.0-alpha.0
Open

synchronize kubeflow workspaces manifests v2.0.0 alpha.1#3430
christian-heusel wants to merge 7 commits intokubeflow:masterfrom
christian-heusel:synchronize-notebooks-v2-manifests-v2.0.0-alpha.0

Conversation

@christian-heusel
Copy link
Copy Markdown
Contributor

@christian-heusel christian-heusel commented Mar 31, 2026

Pull Request Template for Kubeflow Manifests

✏️ Summary of Changes

Do the initial sync for the experimental notebooks v2 manifests.

  • Update kubeflow/notebooks manifests from v2.0.0-alpha.0
  • chore: Setup plumbing needed for notebooks-v2
  • chore: Add sidebar link for notebooks-v2
  • Update kubeflow/notebooks manifests from v2.0.0-alpha.1

📦 Dependencies

none

🐛 Related Issues

none

✅ Contributor Checklist

  • I have tested these changes with kustomize. See Installation Prerequisites.
  • All commits are signed-off to satisfy the DCO check.
  • I have considered adding my company to the adopters page to support Kubeflow and help the community, since I expect help from the community for my issue (see 1. and 2.).

cc @andyatmiami @thesuperzapper

Copilot AI review requested due to automatic review settings March 31, 2026 01:24
@google-oss-prow
Copy link
Copy Markdown

[APPROVALNOTIFIER] This PR is NOT APPROVED

This pull-request has been approved by:
Once this PR has been reviewed and has the lgtm label, please assign kimwnasptd for approval. For more information see the Kubernetes Code Review Process.

The full list of commands accepted by this bot can be found here.

Details Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR introduces the initial synchronization of experimental Kubernetes Notebook v2 manifests from the upstream kubeflow/notebooks repository at version v2.0.0-alpha.0. The PR includes a synchronization script, comprehensive controller/backend/frontend manifests with Istio integration, sample configurations, and a patch to add a notebooks-v2 entry to the central dashboard sidebar (currently commented out with a pre-GA warning).

Changes:

  • Created a synchronization script (scripts/synchronize-notebooks-v2-manifests.sh) to automate future manifest updates
  • Added complete experimental notebooks-v2 manifests (backend, frontend, controller) with Istio networking integration
  • Included sample WorkspaceKind and Workspace resources demonstrating usage
  • Added centraldashboard configuration patch to expose notebooks-v2 in the UI
  • Updated example kustomization to document notebooks-v2 availability (with pre-GA warnings and commented out)

Reviewed changes

Copilot reviewed 76 out of 77 changed files in this pull request and generated 1 comment.

Show a summary per file
File Description
scripts/synchronize-notebooks-v2-manifests.sh Script to automate synchronization of upstream notebooks-v2 manifests
experimental/notebooks-v2/kustomization.yaml Root kustomization composing backend, controller, and frontend with image tag fixes
experimental/notebooks-v2/backend/ Backend service manifests with Istio overlay and RBAC configuration
experimental/notebooks-v2/controller/ Workspaces controller with CRDs, webhooks, and cert-manager integration
experimental/notebooks-v2/frontend/ Frontend UI deployment with Istio ingress routing
experimental/notebooks-v2/centraldashboard/ ConfigMap patch adding notebooks-v2 menu items to central dashboard
example/kustomization.yaml Documentation comments for optional notebooks-v2 deployment

Comment thread scripts/synchronize-notebooks-v2-manifests.sh Outdated
Comment thread scripts/synchronize-notebooks-v2-manifests.sh Outdated
Comment on lines +15 to +21
images:
- name: ghcr.io/kubeflow/notebooks/workspaces-backend
newTag: 2.0.0-alpha.0
- name: ghcr.io/kubeflow/notebooks/workspaces-controller
newTag: 2.0.0-alpha.0
- name: ghcr.io/kubeflow/notebooks/workspaces-frontend
newTag: 2.0.0-alpha.0
Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can be dropped once kubeflow/notebooks#1000 is merged 😊

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Turns out there is more work required, I have re-added this for v2.0.0 alpha1 for the time being: kubeflow/notebooks#1032

@thesuperzapper
Copy link
Copy Markdown
Member

@christian-heusel I think the best structure is to keep everything under applications, in a folder called workspaces.

Structure should be:

applications:
  - workspaces:
       - upstream:
           - controller:
               - base, overlays, components, etc
           - backend:
               - base, overlays, components, etc
           - frontend:
               - base, overlays, components, etc
      - overlays:
           - istio:
               - xyz_patch.yaml (if needed can be included).
               - kustomization.yaml (points to the `overlays/istio` of each upstream)

Then we have a single sync target under upstream.

@christian-heusel christian-heusel force-pushed the synchronize-notebooks-v2-manifests-v2.0.0-alpha.0 branch 2 times, most recently from cab81d8 to e32edf7 Compare April 1, 2026 12:25
Comment thread applications/workspaces/overlays/istio/kustomization.yaml Outdated
@christian-heusel christian-heusel marked this pull request as ready for review April 1, 2026 12:35
@google-oss-prow google-oss-prow bot requested a review from kimwnasptd April 1, 2026 12:35
@christian-heusel
Copy link
Copy Markdown
Contributor Author

/hold

christian-heusel added a commit to christian-heusel/manifests that referenced this pull request Apr 1, 2026
@christian-heusel christian-heusel force-pushed the synchronize-notebooks-v2-manifests-v2.0.0-alpha.0 branch from e32edf7 to d3d678c Compare April 1, 2026 17:04
christian-heusel added a commit to christian-heusel/notebooks that referenced this pull request Apr 1, 2026
christian-heusel added a commit to christian-heusel/manifests that referenced this pull request Apr 1, 2026
google-oss-prow bot pushed a commit to kubeflow/notebooks that referenced this pull request Apr 2, 2026
Comment thread applications/workspaces/components/centraldashboard/centraldashboard-config.yaml Outdated
christian-heusel added a commit to christian-heusel/notebooks that referenced this pull request Apr 2, 2026
Without this we're running into `ImagePullBackOff` issues in the release
manifests and need to manually fix the tags there.

Link: kubeflow/manifests#3430 (comment)
Signed-off-by: Christian Heusel <[email protected]>
christian-heusel added a commit to christian-heusel/notebooks that referenced this pull request Apr 2, 2026
Without this we're running into `ImagePullBackOff` issues in the release
manifests and need to manually fix the tags there.

Link: kubeflow/manifests#3430 (comment)
Signed-off-by: Christian Heusel <[email protected]>
christian-heusel added a commit to christian-heusel/manifests that referenced this pull request Apr 9, 2026
@juliusvonkohout
Copy link
Copy Markdown
Member

juliusvonkohout pushed a commit that referenced this pull request Apr 11, 2026
* Update kubeflow/notebooks manifests from v1.11.0-rc.1

Signed-off-by: Christian Heusel <[email protected]>

* Restructure the notebooks-v1 component manifests

Link: #3430 (comment)
Link: #3429 (comment)
Signed-off-by: Christian Heusel <[email protected]>

---------

Signed-off-by: Christian Heusel <[email protected]>
@juliusvonkohout
Copy link
Copy Markdown
Member

if you want you can also kill the notebooks v1 helm charts in this PR. Since we will kill v1 there is no potential to upstream them in the future.

Comment thread applications/workspaces/components/centraldashboard/centraldashboard-config.yaml Outdated
christian-heusel added a commit to christian-heusel/manifests that referenced this pull request Apr 16, 2026
Link: kubeflow#3430 (comment)
Suggested-by: Julius von Kohout <[email protected]>
Signed-off-by: Christian Heusel <[email protected]>
@christian-heusel christian-heusel marked this pull request as draft April 16, 2026 20:03
@christian-heusel christian-heusel force-pushed the synchronize-notebooks-v2-manifests-v2.0.0-alpha.0 branch from e1ac53a to d08b4fa Compare April 16, 2026 20:03
christian-heusel added a commit to christian-heusel/manifests that referenced this pull request Apr 16, 2026
Link: kubeflow#3430 (comment)
Suggested-by: Julius von Kohout <[email protected]>
Signed-off-by: Christian Heusel <[email protected]>
@christian-heusel christian-heusel force-pushed the synchronize-notebooks-v2-manifests-v2.0.0-alpha.0 branch from d08b4fa to 11ec53b Compare April 16, 2026 20:08
christian-heusel added a commit to christian-heusel/manifests that referenced this pull request Apr 16, 2026
Link: kubeflow#3430 (comment)
Suggested-by: Julius von Kohout <[email protected]>
Signed-off-by: Christian Heusel <[email protected]>
@christian-heusel christian-heusel force-pushed the synchronize-notebooks-v2-manifests-v2.0.0-alpha.0 branch from 11ec53b to 79ea0ae Compare April 16, 2026 20:22
@juliusvonkohout
Copy link
Copy Markdown
Member

/retest
Maybe also @danish9039 can help.

@danish9039
Copy link
Copy Markdown
Member

danish9039 commented Apr 19, 2026

@christian-heusel failures here are a combination of the prerelease image-tag mismatch (v2.0.0-alpha.1 in manifests https://github.com/kubeflow/manifests/pull/3430/changes#diff-2145495ad76e99d7bebb590b3ab3c4fb6dec9b87f0092b3ff4c7adf9cd36311dR20 vs 2.0.0-alpha.1 in GHCR) plus stale workflow assumptions in the new tests

global all-namespaces pod wait that times out on unrelated KinD dependencies https://github.com/kubeflow/manifests/pull/3430/changes#diff-8b3cd760feec7fb87c30efb305a6f3031f13ede999a21dcf1aa2c7bc5a88e8acR51

should wait first for cert-manager pods and then for pods in the only in kubeflow-workspaces namespace

kubectl wait --for=condition=Ready pods -n cert-manager --all --timeout=120s
        kubectl wait --for=condition=Ready pods \
          -n kubeflow-workspaces --all \
          --timeout=600s


controller test hitting the old /workspaces/api/v1/namespaces/{ns}/workspaces route https://github.com/kubeflow/manifests/pull/3430/changes#diff-8b3cd760feec7fb87c30efb305a6f3031f13ede999a21dcf1aa2c7bc5a88e8acR76 instead of /workspaces/api/v1/workspaces/{ns}

pipeline test assuming the workspace pod is always named test-0 even though the controller now generates that name dynamically .https://github.com/kubeflow/manifests/pull/3430/changes#diff-0dbda89ab22f251a228374464802a7f6b04345db1a5292dcbbb8b264b876f255R84

i have fixed and validated the changes required ( see commits on my fork danish9039@d76d396 )

christian-heusel and others added 6 commits April 20, 2026 14:13
Adds a GitHub Actions workflow that deploys all three Workspaces
components (controller, backend, frontend)  and verifies the access
permissions to the backend API through the Istio ingress gateway.

Assisted-By: Claude Sonnet 4.6 <[email protected]>
Signed-off-by: Christian Heusel <[email protected]>
Link: kubeflow#3430 (comment)
Suggested-by: Julius von Kohout <[email protected]>
Signed-off-by: Christian Heusel <[email protected]>
Adds a second integration test that spawns a Workspace and runs a
pipeline inside it, mirroring `pipeline_run_from_notebook.yaml` for the
Notebooks Workspaces.

Assisted-By: Claude Sonnet 4.6 <[email protected]>
Co-authored-by: danish9039 <[email protected]>
Signed-off-by: Christian Heusel <[email protected]>
@christian-heusel christian-heusel force-pushed the synchronize-notebooks-v2-manifests-v2.0.0-alpha.0 branch from 79ea0ae to 55b8e82 Compare April 20, 2026 12:13
@christian-heusel
Copy link
Copy Markdown
Contributor Author

@danish9039 thanks a lot for your suggestions and fixes, I have added them to the PR and made you a Co-author on the relevant commit 🤗

Assisted-By: Claude Sonnet 4.6 <[email protected]>
Signed-off-by: Christian Heusel <[email protected]>
@juliusvonkohout
Copy link
Copy Markdown
Member

@christian-heusel @danish9039

The dashboard might be affected by this:

image

GHSA-fvcv-3m26-pcqx

i get warnings for ghcr.io/kubeflow/kubeflow/central-dashboard:v1.10.0, is that still valid for https://github.com/kubeflow/dashboard/pkgs/container/dashboard%2Fdashboard/783922119?tag=v2.0.0-rc.1 ?

@christian-heusel
Copy link
Copy Markdown
Contributor Author

@juliusvonkohout yet it seems like this (see kubeflow/dashboard#266 for the pending updates), the dashboard frontend components are mostly untouched AFAIU.

Also this is unrelated to the workspaces update 🤗

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants